#define _CRT_SECURE_NO_WARNINGS
//#include <stdio.h>
//double Pow(double n, int k)
//{
//	if (k > 0)
//	{
//		for (int i = 1; i < k; i++)
//		{
//			n = n * n;
//		}
//		return n;
//	}
//	else if (k < 0)
//	{
//		for (int i = 1; i < -k; i++)
//		{
//			n = n * n;
//		}
//		n = (1.0 / n);
//		return n;
//	}
//	else
//		return 1;
//}
//int main()
//{
//	double n = 0;
//	int k = 0;
//	scanf("%lf%d", &n, &k);
//	double ret= Pow(n, k);
//	printf("%lf\n", ret);
//	return 0;
//}
#include <stdio.h>
double Pow(int n, int k)
{
	if (k == 0)
		return 1;
	else if (k > 0)
	{
		return n * Pow(n, k - 1);
	}
	else
		return 1.0 / Pow(n, -k);
}
int main()
{
	int n = 0, k = 0;
	scanf("%d%d", &n, &k);
	printf("%lf", Pow(n, k));
	return 0;
}